/**
 * redirect
 * 跳转到指定网址
 *
 * @param url $url
 * @access public
 * @return void
 */
function redirect(url) {
    var rand = '__redirect_rand=' + (Math.random());

    url += url.indexOf('?') === -1 ? '?' : '&';
    url += rand;

    window.location.href = url;
}

/**
*  加法
*/
function floatAdd(arg1,arg2) {
  var r1,r2,m;
  try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
  try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
  m=Math.pow(10,Math.max(r1,r2))
  return (arg1*m+arg2*m)/m
}
/**
*  减法
*/
function floatSub(arg1,arg2) {
  var r1,r2,m,n;
  try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
  try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
  m=Math.pow(10,Math.max(r1,r2));
  //动态控制精度长度
  n=(r1>=r2)?r1:r2;
  return ((arg1*m-arg2*m)/m).toFixed(n);
}
/**
*  乘法
*/
function floatMul(arg1,arg2) {
  var m=0,s1=arg1.toString(),s2=arg2.toString();
  try{m+=s1.split(".")[1].length}catch(e){}
  try{m+=s2.split(".")[1].length}catch(e){}
  return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
/**
*  除法
*/
function floatDiv(arg1,arg2) {
  var t1=0,t2=0,r1,r2;
  try{t1=arg1.toString().split(".")[1].length}catch(e){}
  try{t2=arg2.toString().split(".")[1].length}catch(e){}
  with(Math){
    r1=Number(arg1.toString().replace(".",""))
    r2=Number(arg2.toString().replace(".",""))
    return (r1/r2)*pow(10,t2-t1);
  }
}


/**
 * 控制多选项选中或取消
 * 控制选中的选项框加上t属性，其值以 -chk-act-a 结尾
 * 被选项t属性值以 -chk-act-c 结属
 */
var chkAct = function() {
    var tag = '-chk-act-',
        a   = tag + 'a',
        c   = tag + 'c';

    $('[t$=' + a + ']:checkbox').click(function() {
        var child = ($(this).attr('t')).replace(new RegExp(a), c),
            s     = $(this).attr('checked') ? true : false;

        $('[t=' + child + ']:checkbox').attr('checked', s);
    })
};
